﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace CA
{
    public class Course
    {
        /*
             P1签名(PKCS#1)
                     P1签名又叫做"裸签名"，签名值中只有签名信息。

             P7签名(PKCS#7)
                     签名中可以带有其他的附加信息，例如签名中传给你证书信息、签名原文信息、事件戳信息等。


             注意： P7的签名值不能使用P1的方式来"验签"


            ★、签名：
                 数字签名中，包含了两个过程：
                     ①、对要进行签名的信息，使用指定的hash算法，获取信息的hash值
                     ②、用私钥对hash值进行加密，输出加密串(加密串就是"签名值")
                 以上的方式也就是"P1 裸签名"  PKCS#1


             PKCS("公钥加密标准")：
                 在密码系统中，PKCS#11是"公钥加密标准（PKCS,Public-key Cryptography Standards)" 中的一份子
                 PKCS是一套公司间的标准协议，用于在因特网上使用公开密钥基础设施实现安全的信息交换。
                 这套标准包括RSA加密法、密码加密法、扩展证书语法、用于S/MIME协议的密码消息语法以及RAS的安全电子邮件标准。

                公钥加密标准，由美国RSA数据安全公司指定。
                P1----P15等多个版本


            公钥的发布流程：

                CA机构(生成一对密钥)-----> CA机构(将公钥注册到“CA证书中心”，提交机构名称、联系方式，提供申请证书用户的身份证材料) ------>

                CA证书中心(验证公钥的有效性)------->CA认证中心(验证证书申请者的身份，确保真实性  身份证、营业执照)------>

                CA证书中心(证书中金使用"自己的私钥" (自己声场的密钥对)对"注册的公钥")

                
         */
    }
}
